angular.module('number-tofixed', [])
# 修正JS的Number类型4舍5入的问题
.run () ->
    Number.prototype.toFixed = (d)->
        s = this + ""
        if !d then d = 0
        if s.indexOf(".") == -1 then s += "."
        s += new Array(d + 1).join("0")
        if new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (d + 1) + "})?)\\d*$").test(s)
            s = "0" + RegExp.$2
            pm = RegExp.$1
            a = RegExp.$3.length
            b = true
            if a == d + 2
                a = s.match(/\d/g)
                if parseInt(a[a.length - 1]) > 4
                    for i in [a.length - 2..0]
                        a[i] = parseInt(a[i]) + 1
                        if a[i] == 10
                            a[i] = 0
                            b = i != 1
                        else
                            break
                s = a.join("").replace(new RegExp("(\\d+)(\\d{" + d + "})\\d$"), "$1.$2")
            if b then s = s.substr(1)
            return (pm + s).replace(/\.$/, "")
        return this + ""
